Adding some more judges, here and there.
[and.git] / lib / Mi manual de algoritmos / version_world_finals_2009 / src / java / priority_queue.java
blob28d6d80f7e5929b8d3b9b870b2e659e5aafd8346
1 import java.util.*; class Item implements Comparable<Item>{
2 int destino, peso; Item(int destino, int peso){ this.peso =
3 peso; this.destino = destino; }
4 /*
5 * Implementamos toda la javazofia.
6 */
7 public int compareTo(Item otro){
8 // Return < 0 si this < otro
9 // Return 0 si this == otro
10 // Return > 0 si this > otro
11 /* Un nodo es menor que otro si tiene menos peso */
12 return peso - otro.peso; } public boolean
13 equals(Object otro){ if (otro instanceof Item){ Item ese =
14 (Item)otro; return destino == ese.destino && peso ==
15 ese.peso; } return false; } public String toString(){
16 return "peso = " + peso + ", destino = " + destino; } }
17 class Ejemplo { public static void main(String[] args) {
18 PriorityQueue<Item> q = new PriorityQueue<Item>();
19 q.add(new Item(12, 0)); q.add(new Item(4, 1876));
20 q.add(new Item(13, 0)); q.add(new Item(8, 0)); q.add(new
21 Item(7, 3)); while (!q.isEmpty()){
22 System.out.println(q.poll()); } } }